package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.Course;
import com.ruoyi.common.core.domain.entity.CourseGrade;
import com.ruoyi.common.core.domain.entity.Coursetype;
import com.ruoyi.common.core.domain.entity.Grade;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 课程管理模块 数据层
 * @auther Ander.Zhao
 */

@Mapper
public interface SysCourseMapper {
    /**
     * 查询所有课程
     * @return 返回课程列表
     */
    public List<Course> selectCourse(Course course);


    public List<Grade> selectAllGrade();
    public List<Coursetype> selectAllCourseType();
    public List<CourseGrade> selectAllByGid(Long gId);
    /**
     * 查询某分类的所有课程
     * @param typeid 课程分类编号
     * @return 返回课程列表
     */
    public List<Course> selectCourseByTypeid(long typeid);

    /**
     * 查询课程编号查询课程
     * @param courseid 课程编号
     * @return 返回课程
     */
    public Course selectCourseById(long courseid);

    /**
     * 删除课程 根据课程编号
     * @param courseid 课程编号
     * @return 返回布尔值
     */
    public boolean removeCourse(long courseid);

    public int addCourse(Course course);

    public int updateCourse(Course course);

    public List<Course> checkcNameUnique(Course course);
    public int courseGradeDelete(long courseid);
    public int addCourseGrade(Course course);
}
